<!--
 ~ Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
  
<div class="custom-modal {{input.size}}">
    <div class="ng2-modal-content"
        [ngDraggable]="input.isMovable"
        [handle]="ModalHandle"
        [bounds]="ModalBounds"
        [inBounds]="true"
        [preventDefaultEvent]="false">
        <div #ModalHandle
            class="ng2-modal-header modal-type-{{input.type}}"
            [ngClass]="{'movable': input.isMovable}">
            <span class="title">{{ input.title }}</span>
            <span class="close-button" (click)="close()"></span>
        </div>
        <div class="ng2-modal-body" >
            <div *ngIf="input.content">{{input.content}}</div>
            <div #dynamicContentContainer></div>
        </div>
        
        <div class="ng2-modal-footer">
            <button *ngFor="let button of input.buttons"
                    class="tlv-btn {{button.cssClass}}"
                    [disabled] = "button.getDisabled && button.getDisabled()"
                    [attr.data-tests-id] = "button.text"
                    (click) = "button.callback()">{{button.text}}</button>
        </div>
    </div>
</div>
<div #ModalBounds class="modal-background" [ngClass]="{'transparent': input.isMovable}"></div>
